
#include <stdlib.h>
#include <string.h>
#include <ctype.h> // 用于isdigit函数

// 函数声明，用于将十进制转换为十六进制
void decimalToHex(int decimal, char hex[]);

int main(int argc, char const *argv[]) {
    if (argc < 2) {
        printf("Usage: %s decimal_number [decimal_number...]\n", argv[0]);
        return 1; // 如果没有提供任何参数，则打印用法并退出
    }

    for (int i = 1; i < argc; ++i) {
        int decimal;
        char hex[17]; // 假设一个int的最大十六进制表示为16位（包括null终止符）

        // 尝试将命令行参数转换为整数
        if (sscanf(argv[i], "%d", &decimal) != 1) {
            strcpy(hex, "wrong"); // 如果不是有效的十进制数，则设置为"wrong"
        } else {
            decimalToHex(decimal, hex); // 转换十进制为十六进制
        }

        printf("%s\n", hex); // 输出结果
    }

    return 0;
}

// 函数定义，用于将十进制转换为十六进制
void decimalToHex(int decimal, char hex[]) {
    sprintf(hex, "%X", decimal); // 使用sprintf函数进行转换
}